#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDir>
#include <QDebug>
#include <termios.h>
#include <inttypes.h>
#include <QMap>
#include <QErrorMessage>
#include <time.h>
#include "histograma.h"

#define NUM_BYTES 250
#define INDEX_Luminosidad_Barra_Frontal 0
#define INDEX_Calibraciones_Frontal_Oscuro 48
#define INDEX_Calibraciones_Frontal_Claro 96
#define INDEX_Luminosidad_Trasera 144
#define INDEX_Calibraciones_Trasera_Oscuro 176
#define INDEX_Calibraciones_Trasera_Claro 208
#define INDEX_Posicion_Linea 240
#define INDEX_Velocidad_m_s 244
#define INDEX_Salida_Direccion 248

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_InitializeSerialPort_clicked();

    void on_SendButton_clicked();

    void escribirValoresVentana(char *Readings);

    void closeEvent(QCloseEvent *);

    void on_horizontalSlider_valueChanged(int value);

    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    QMap<QString,int> BaudMap;
    int SerialPort;
    QErrorMessage errmsg;
    bool bFinish;
    uint32_t historicMax;
    histograma miHistograma;

};

#endif // MAINWINDOW_H
